/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ControleAcademico.Model.Dao;

import ControleAcademico.Model.Pojo.Turma;
import java.io.IOException;
import java.util.ArrayList;

/**
 *
 * @author arthur
 * @author renan
 * @author tais
 * @author vinicius
 */
public class TurmaDaoImp implements TurmaDao{
    
    // Atributos
    private ArrayList<Turma> listaTurmas;

    
    // Metodos
    public TurmaDaoImp() {
        this.listaTurmas = new ArrayList<Turma>();
    }
    
    public ArrayList<Turma> getListaTurmas() {
        return listaTurmas;
    }   

    @Override
    public void adicionar (Turma turma) throws IOException{
        
        if(!(this.listaTurmas.contains(turma))){
            this.listaTurmas.add(turma);
        }
        else {
            throw new IOException();
        }
        
    }
    
    
    @Override
    public void remover (Turma turma){
        this.listaTurmas.remove(turma);
    }
   
    
    @Override
    public ArrayList<Turma> obterLista() {
        
        ArrayList<Turma> copiaLista = new ArrayList<Turma>();
        
        int index = 0;
        for(Turma t: this.listaTurmas){
            copiaLista.add(this.listaTurmas.get(index));
            index++;
        }
        return copiaLista;
    }
    
    
    @Override
    public Turma buscar (int id) throws IOException{
        
        int index = 0;
        boolean encontrou = false;
        for(Turma p : listaTurmas) {
            if(p.getId() - id == 0) {
                encontrou = true;
                break;
            }
            index++;
        }
        if (encontrou == true) {
            return listaTurmas.get(index);
        } else {
            throw new IOException();
        }
    }
    
}
